import javassist.CtClass;
import javassist.CtPrimitiveType;
import javassist.NotFoundException;

public class Utils {
    // Todo: придумать что-то получше, чем передавать superClassName строкой
    public static boolean isInstanceOf(CtClass subClass, String superClassName) {
        if (subClass.getSimpleName().equals(superClassName)) {
            return true;
        }
        if (subClass instanceof CtPrimitiveType) {
            return false;
        }
        if (subClass.getSimpleName().equals("Object")) {
            return false;
        }
        try {
            return isInstanceOf(subClass.getSuperclass(), superClassName);
        }
        catch (NotFoundException ex) {
            return false;
        }
    }
}
